Technical Field
Embodiments described herein relate to the field of graphical information processing and more particularly, to display update mechanisms.
Description of the Related Art
Part of the operation of many computer systems, including portable digital devices such as mobile phones, notebook computers and the like, is to employ a display device to display images, video information/streams, and data. Accordingly, these systems typically incorporate functionality for generating images and data, including video information, which are subsequently output to the display device. Such devices typically include video graphics circuitry (i.e., a display control unit) to process images and video information for subsequent display.
In digital imaging, the smallest item of information in an image is called a “picture element,” more generally referred to as a “pixel.” For convenience, pixels are generally arranged in a regular two-dimensional grid. By using such an arrangement, many common operations can be implemented by uniformly applying the same operation to each pixel independently. Since each pixel is an elemental part of a digital image, a greater number of pixels can provide a more accurate representation of the digital image. To represent a specific color on an electronic display, each pixel may have three values, one each for the amounts of red, green, and blue present in the desired color. Some formats for electronic displays may also include a fourth value, called alpha, which represents the transparency of the pixel. This format is commonly referred to as ARGB or RGBA. Another format for representing pixel color is YCbCr, where Y corresponds to the luma, or brightness, of a pixel and Cb and Cr correspond to two color-difference chrominance components, representing the blue-difference (Cb) and red-difference (Cr).
Most images and video information displayed on display devices are interpreted as a succession of ordered image frames, or frames for short. While generally a frame is one of the many still images that make up a complete moving picture or video stream, a frame can also be interpreted more broadly as simply a still image displayed on a digital (discrete or progressive scan) display. A frame typically consists of a specified number of pixels according to the resolution of the image/video frame. Most graphics systems use memories (commonly referred to as “frame buffers”) to store the pixels for image and video frame information. The information in a frame buffer typically consists of color values for every pixel to be displayed on the screen. Color values are commonly stored in 1-bit monochrome, 4-bit palletized, 8-bit palletized, 16-bit high color and 24-bit true color formats. An additional alpha channel is oftentimes used to retain information about pixel transparency. The total amount of the memory required for frame buffers to store image/video information depends on the resolution of the output signal, and on the color depth and palette size. The High-Definition Television (HDTV) format, for example, is composed of up to 1080 rows of 1920 pixels per row, or almost 2.1M pixels per frame.
Typically, raw video is received by a device (e.g., an integrated circuit (IC), such as a system-on-a-chip (SOC), or a package such as a multi-chip module (MCM)) of a computer system in a format that is not directly compatible with the electronic display to which a display control unit of the device outputs frames to be displayed. In addition, the display control unit may not accept the raw video format as input. Thus, at least some processing of input video may be performed by the device to convert the video input into a display-compatible format before outputting the video frames to the electronic display for viewing. For example, the device may be used to convert the video input from a raw video format (e.g., YUV420/1080p) to electronic display (e.g., ARGB) format frames of an appropriate size for viewing prior to feeding the video frames to the display control unit. The display control unit may perform additional rendering of the frames prior to feeding the frames to the electronic display.
In addition, there may be other parameters associated with a given frame or set of frames that may be used by the device for processing and displaying the frames on the electronic display. For example, brightness and/or contrast levels may vary dependent upon user inputs or as an intended part of a video stream. One or more video input streams and one or more of these other parameters may be input for display concurrently. Some parameters may not be embedded within a video stream and, therefore, require synchronization with the video stream to display the images as intended. Synchronizing various parameters to a video source and determining when to update the display control unit with new parameters is challenging.